package com.itheima.mapper.admin;


import com.itheima.admin.dishpojo.Dish;
import com.itheima.admin.dishpojo.Flavors;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author wuzhiyong
 */
@Mapper
public interface DishMapper {

    /**
     * 分页查询
     *
     * @param name       name
     * @param startIndex startIndex
     * @param pageSize   pageSize
     * @param type type
     * @return List<Dish>
     */
    List<Dish> selectPageDish(String name, Integer startIndex, Integer pageSize, Integer type);
    /**
     * 分页-查询总条数
     *
     * @return 条数
     */
    @Select("select count(*) from admin_dish")
    int selectAllDish();

    /**
     * 菜品下拉
     * @param categoryId categoryId
     * @return  List<Dish>
     */
    List<Dish> selectByCategoryId(String categoryId);

    /**
     * 根据id查询菜品信息
     * @param id id
     * @return Dish
     */
    Dish selectByDishId(@Param("id") String id);

    /**
     * 新增菜品
     * @param dish dish
     * @return 条数
     */
    int insertDish(Dish dish);
    /**
     * 新增菜品-新增口味
     * @param flavors flavors
     * @return 条数
     */
    int insertFlavors(Flavors flavors);

    /**
     * 修改菜品
     * @param dish dish
     * @return 条数
     */
    int updateDish(Dish dish);
    /**
     * 修改菜品-删除口味
     * @param id id
     * @return 条数
     */
    int deleteFlavors(String id);

    /**
     * 删除菜品
     * @param ids ids
     * @return 条数
     */
    int deleteByIds(String[] ids);

    /**
     * 修改启停售
     * @param status status
     * @param ids ids
     * @return 条数
     */
    int updateByStatus(Integer status, String[] ids);


}
